<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  <link rel="stylesheet" href="css/reset.css" />
  <link rel="stylesheet" href="css/main.css" />
  <script type="text/javascript" src="./lib/jquery-1.12.4.min.js"></script>
  <script type="text/javascript" src="./lib/jquery-ui.min.js"></script>
  <script type="text/javascript" src="./lib/jquery.mousewheel.js"></script>
  <script type="text/javascript" src="./lib/scroll.js"></script>
  <title>聊天机器人</title>
</head>

<body>
  <div class="wrap">
    <!-- 头部 Header 区域 -->
    <div class="header">
      <h3>小思同学</h3>
      <img src="img/person01.png" alt="icon" />
    </div>
    <!-- 中间 聊天内容区域 -->
    <div class="main">
      <ul class="talk_list" style="top: 0px;">
        <!-- <li class="left_word">
            <img src="img/person01.png" />
            <span>你好</span>
          </li> -->
        <!-- <li class="right_word">
					<img src="img/person02.png" />
					<span>你好哦</span>
				</li> -->
      </ul>
      <!-- 右侧滚动条 -->
      <div class="drag_bar" style="display: none;">
        <div class="drager ui-draggable ui-draggable-handle" style="display: none; height: 412.628px;"></div>
      </div>
    </div>
    <!-- 底部 消息编辑区域 -->
    <div class="footer">
      <img src="img/person02.png" alt="icon" />
      <input type="text" placeholder="说的什么吧..." class="input_txt" />
      <input type="button" value="发 送" class="input_sub" />
    </div>
  </div>

  <!-- 引入axios.js -->
  <script src="./lib/axios.js"></script>
  <script>
    /* 
      使用数据驱动思路
          1.声明一个全局数组存储聊天内容
          2.点击发送
              2.1 非空判断
              2.2 将自己的聊天内容添加到数组中
              2.3 ajax发送请求,获取机器人回复内容添加到数组中
              2.4 文本清空
      */
    //声明一个数组存放聊天信息
    const arr = []
    //给按钮注册点击事件
    document.querySelector('.input_sub').addEventListener('click', function () {

      //获取用户输入的值
      const text = document.querySelector('.input_txt').value
      //非空判断
      if (text.length === 0) {
        return alert('请输入聊天内容')
      } else {
        arr.push({
          text,
          isMe: true
        })
        renderData(arr)
        resetui()//显示滚动条
        //清空文本框
        document.querySelector('.input_txt').value = ''
        //发送请求
        axios({
          url: 'http://ajax-base-api-t.itheima.net/api/robot',
          method: 'get',
          params: { spoken: text }
        }).then(res => {
          //成功回调
          console.log(res)
          arr.push({
            text: res.data.data.info.text,
            isMe: false
          })
          console.log(arr);
          renderData(arr)
          resetui()//显示滚动条
        })
      }
    })
    //渲染函数
    /* 封装渲染函数 */
    const renderData = arr => {
      document.querySelector('.talk_list').innerHTML = arr.map(item =>
        item.isMe ? `
          <li class="right_word">
            <img src="img/person02.png" />
            <span>${item.text}</span>
          </li>
        `: `
          <li class="left_word">
            <img src="img/person01.png" />
            <span>${item.text}</span>
          </li>
        `
      ).join('')
    }

  </script>
</body>
</html>